which skills are needed for data engineering